A cloud distributed storage system (or virtualized distributed storage system) is a virtual storage network that interconnects hosts and storage devices. A group of hosts create a cluster of hosts. Each host in the cluster is referred to as a cluster node. Each host includes a directory service that maintains an updated directory of the distributed storage objects that reside on each host in a cluster. The directory is a key-value store. A node elected as master maintains a master copy of the directory.
The master node receives messages from each agent node informing the master node of updates to the local objects owned by the agent node. The master node also receives messages from agent nodes requesting current values of objects in the directory. In cloud distributed storage systems, messages may fail to be delivered to recipients due to application constraints such as the size of the message or network infrastructure issues. To address this problem, retransmission is used to guarantee the eventual success of message delivery to target hosts.